Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO
■CPUが使用するI/O
対象	80286搭載機種,V33A搭載機種(PC-98DO+),V50,V50HL搭載機種
解説  o 80286では数値演算コプロセッサとの通信のためにI/O 00F8〜00FChを使用
	する。このため、ユーザーはこの範囲のI/Oアドレスを使用することはでき
	ない。
      o V33Aには最大16MBのアドレス空間が使用できる拡張モードのためのレジスタ
	がCPUの内部にある。ユーザーはこのI/Oを操作してはいけない。
      o V50,V50HLはCPUの内部にいくつかの周辺チップを取り込んでいる。このため
	これらを制御するためのI/Oアドレスのほかに、これらの周辺回路のさまざま
	なコンフィギュレーションを行うためのレジスタも存在している。ユーザー
	はこのI/Oを操作してはいけない。
I/O	00F8〜00FCh(WORD)
名前	NPX(80287)通信用(intel RESERVE)
対象	80286 CPU搭載機
チップ	80287
機能
	-----------+----+------------------------------------------------------
	I/Oアドレス|幅  |内容
	-----------+----+------------------------------------------------------
	00F8h      |WORD|CPU←→NPX通信用
	00FAh      |WORD|CPU←→NPX通信用
	00FCh      |WORD|CPU←→NPX通信用
	00FEh      |WORD|リザーブ
	-----------+----+------------------------------------------------------
解説  o 80286 CPUは、数値演算コプロセッサ80287との通信のためにI/O 00F8〜00FDhを
	使用する。この範囲のI/Oを他のペリフェラルデバイスが使用することは
	できない。
      o 80386 CPUでは、数値演算コプロセッサ80387との通信のためにI/O 800000F8h
	(32bit)とI/O 800000FCh(32bit)を使用する。なお、このI/Oアドレスは
	コプロセッサ専用である。
関連	
I/O	FF00〜FF7Eh(WORD),FF80h(BYTE)
名前	V33A アドレス拡張制御用内部I/Oレジスタ
対象	V33A搭載機(PC-98DO+)
チップ	V33A(μPD70136A)
機能
	-----------+----+---+--------------------------------------------------
	I/Oアドレス|幅  |R/W|内容
	-----------+----+---+--------------------------------------------------
	FF00〜FF7Eh|WORD|R/W|PGR1〜PGR64(ページレジスタ)
	FF80h      |BYTE| R |bit 0: XAM(拡張アドレスモードレジスタ)
	           |    |   |	1= 拡張アドレスモード(XAモード)
	           |    |   |	0= 通常アドレスモード(NAモード)
	-----------+----+---+--------------------------------------------------
解説  o V33A CPUのアドレス空間拡張機能を制御するためのレジスタ。
関連	
I/O	FF00〜FFFFh(BYTE)
名前	V50,V50HLシステムI/O領域
対象	V50,V50HL搭載機
チップ	V50(μPD70216),V50HL(μPD70216H)
機能
	-----------+----+---+--------------------------------------------------
	I/Oアドレス|幅  |R/W|内容
	-----------+----+---+--------------------------------------------------
	FF00〜FFDFh|BYTE|   |予約
	FFE0h      |BYTE|R/W|バンク選択レジスタ *1
	FFE1h      |BYTE|R/W|バンクアドレスレジスタ *1
	FFE2〜FFE8h|BYTE|   |予約
	FFE9h      |BYTE|R/W|ボーレートカウンタ *1
	FFEAh      |BYTE|R/W|プログラマブルウェイトサイクル数設定レジスタ3 *1
	FFEBh      |BYTE|R/W|ウェイトI/Oブロック設定レジスタ *1
	FFECh      |BYTE|R/W|ウェイトサブメモリブロック設定レジスタ *1
	FFEDh      |BYTE|R/W|拡張ウェイトブロック選択レジスタ *1
	FFEE〜FFEFh|BYTE|   |予約
	FFF0h      |BYTE|R/W|タイマクロック選択レジスタ
	FFF1h      |BYTE|R/W|スタンバイコントロールレジスタ *1
	FFF2h      |BYTE|R/W|リフレッシュコントロールレジスタ
	FFF3h      |BYTE|   |予約
	FFF4h      |BYTE|R/W|プログラマブルウェイトメモリ領域設定レジスタ
	FFF5h      |BYTE|R/W|プログラマブルウェイトサイクル数設定レジスタ1
	FFF6h      |BYTE|R/W|プログラマブルウェイトサイクル数設定レジスタ2
	FFF7h      |BYTE|R/W|システムコントロールレジスタ *1
	FFF8h      |BYTE|R/W|SCUロウアドレスレジスタ
	FFF9h      |BYTE|R/W|TCUロウアドレスレジスタ
	FFFAh      |BYTE|R/W|ICUロウアドレスレジスタ
	FFFBh      |BYTE|R/W|DMAUロウアドレスレジスタ
	FFFCh      |BYTE|R/W|オンチップペリフェラルハイアドレスレジスタ
	FFFDh      |BYTE|R/W|オンチップペリフェラルセレクションレジスタ
	FFFEh      |BYTE|R/W|オンチップペリフェラルコネクションレジスタ
	FFFFh      |BYTE|   |予約
	-----------+----+---+--------------------------------------------------
	*1: V50(μPD70216)では予約
解説  o V50,V50HL CPU内蔵ペリフェラルを制御するためのレジスタ。
関連	
■CPU周辺が使用するI/O
解説  o 80286以上のCPU搭載機では、CPUのリセットをおこなうためにI/Oポートを
	使用する。CPUのリセット以外にも1MB以上のメモリ空間へのアクセスを
	行うためにA20ラインの有効にする操作などもI/Oポートを使用して行われる。
-------------------------------------------------------------------------------
I/O	00F0h
名前	マシンステータス読み出し/CPUシャットダウン
対象	80286以上のCPUを搭載したマシン(ITF搭載機)
機能
	[READ] マシン・ステータス読み出し
	bit 7: 姉妹機判定■[PC-9801NA,NA/C]
		1= PC-9801NA
		0= PC-9801NA/C
	bit 7: 姉妹機判定■[PC-9821modelS1,S2]
		1= PC-9821modelS1
		0= PC-9821modelS2
	bit 7: 姉妹機判定■[PC-9821CemodelS1,S2]
		1= PC-9821CemodelS1
		0= PC-9821CemodelS2
	bit 7: 姉妹機判定■[PC-9821Xt・Xa]
		1= PC-9821Xt
		0= PC-9821Xa
	bit 7: CPU速度判定■[PC-9821Ap・As・Ae・Af]
		1= CPU MODE is High/Low
		0= CPU MODE is Middle
	bit 6: ODPソケットステータス■[PC-9821Ts]
		1= ODPあり
		0= ODPなし
	bit 6: 内蔵タイプ(SCSI)HDDステータス
		■[PC-9801RA21・RS・DA・DS・DX・ES・FA・FS・FX
		   PC-9821初代・Ap・As・Ae・Ce・Af・Ap2・As2・An・Ap3・As3]
		1= 内蔵55タイプHDDなし
		0= 内蔵55タイプHDDあり
	bit 5: 内蔵タイプ(SASI,IDE)HDDステータス
		■[PC-9801RA21・RS・DA・DS・DX・ES・EX,PC-98DO+
		  98NOTE,PC-9821,PC-9801BA・BX・BA2・BS2・BX2・BA3・BX3・BX4]
		1= 内蔵27タイプHDDなし
		0= 内蔵27タイプHDDあり
	bit 4: 不明
		
		
		
	bit 3: 内部増設RAMアクセス
		1= 標準内蔵または拡張スロットメモリ
		0= 内部増設メモリ
		* 直前のRAMアクセスが内部増設RAMかどうかを示す。
		
	bit 2: リフレッシュモード
		1= 通常リフレッシュ
		0= 高速リフレッシュ
		
		
	bit 1: CPUモード
		1= V30
		0= 80286/80386
		* I/O 00F0h bit 0に設定された値を示す。
	bit 0: 内部RAM/拡張スロットRAM判別
		1= 内部メモリ
		0= 拡張スロットメモリ
		* 直前のRAMアクセスが内部RAMへのアクセスであったかどうかを
		  示す。
		
	[WRITE]	CPUシャットダウン
	bit 7〜3: 未使用
	bit 2: リフレッシュモード選択?
		1= 通常リフレッシュ(V30選択時)
		0= 高速リフレッシュ(80286/80386選択時)
	bit 1: 不明
		1= V30選択時
		0= 80286/386選択時
	bit 0: CPUモード選択
		1= V30選択
		0= 80286/386選択
		* 出力する値によって80286(386)とV30の切り換えが行える。
		  そのときCPU(NDP)のリセット端子がアクティブに、A20はマスク
		  状態になる。ここで設定された値は、I/O 00F0h bit 1より読み
		  出される。
解説	
関連	0000:0596h bit 0
	I/O 00F0h
I/O	00F1h
名前	IDEポートF/Fリセット
	Undocumented
対象	PC-9821Xa10・Xa9・Xa7・Xe10,PC-9801BX4
機能
	[READ]	なし
	[WRITE]
	bit 7〜0: 任意
開設  o プライマリとセカンダリ2つのIDEポートに、マスタ/スレーブでIDEデバイス
	を接続できる機種で、それぞれのIDEポートにデバイスが接続されているか
	どうか調べるのに用いられる。
      o このポートに任意の値を書き込んだ後I/O 00F0hを2回連続して読み出しを
	おこなったとき、1回目の読み出しでプライマリIDE、2回目の読みだしでセ
	カンダリIDEの情報が同じbit 5から取得できる。
関連	I/O 00F0h bit 5
I/O	00F2h
名前	CPU A20マスク解除
対象	80286以上のCPU搭載機
機能
	[READ]
	
	bit 7〜2: 未使用
	bit 1: 不明
		
	bit 0: A20状態■[除くH98]
		1= A20マスク状態
		0= A20マスク解除状態
	[WRITE]	CPU A20マスク解除
解説  o 任意の値を出力するとCPUのアドレスバスA20のマスクが解除される。
        A20をマスクするには00F6hか00F0hに出力する。
関連	I/O 8B1Eh bit 6
I/O	00F4h
名前	DMAモード選択
	Undocumented
対象	PC-9801DA以降
機能
	[READ]	不明
	
	[WRITE]
	bit 7〜0: DMA速度設定
		00000100b= DMA速度互換
		00000101b= DMA速度高速
 	
	
解説  o DMAコントローラのクロックを選択する
関連	I/O 861Eh bit 4
I/O	00F6h
名前	A20ライン制御
対象	386以上のCPU搭載機
機能
	[READ]
	bit 7,6: 不明
	bit 5: 不明
		
		
		
		
	bit 4: 内蔵HDD DMAch設定■[PC-98RLを除く]
		1= ch0
		0= ch1
		関連	I/O 7FDBh bit 4■[PC-98RL]
	bit 3: 不明
	bit 2: 不明
		
		
	bit 1: NMI禁止/許可状態■[PC-H98を除く]
		1= 許可
		0= 禁止
	bit 0: A20マスク状態
		1= A20はマスクされている
		0= A20はマスクされていない
		
	[WRITE]
	bit 7〜0: 各種設定
		00000001b= 不明■[PC-9801NA]
		0000001nb= CPUのアドレスバスA20のマスク制御■[XL^2以降の386機]
			0(02h)= A20マスク解除
			1(03h)= A20マスク設定
			* OUT F6h,02h と OUT F2h,XXh の動作は同じ。
			
		0n000100b= 内蔵SCSI I/Fスロットが使用するDMAチャネル指定
			1(44h)= SCSI I/FスロットでDMA #1を使用
			0(04h)= SCSI I/FスロットでDMA #0を使用
			* システムセットアップメニューの設定を書き込む
		0000010nb= 不明
		1n100000b= 8x1Eh ソフトウェアディップスイッチ切り替え
			1(E0h)= ディップスイッチ表バンク指定
			0(A0h)= ディップスイッチ裏バンク指定
			* I/O 841E〜8F1Ehのソフトウェアディップスイッチは、
			  1つのI/Oアドレスにそれぞれ裏表2組ずつ割り当てられ
			  ている。裏表の選択方法は機種によって異なるが、
			  I/O 00F6h - A0h,E0hを用いて選択する機種もある。
解説  u テクニカルデータブックに描かれている方法ではA20ラインのON/OFFが出
	来ない。
関連	0000:0484h bit 7,6			
	I/O 00F0h
	I/O 00F2h
	I/O 861Eh bit 2			
	I/O 841E〜8F1Eh(表,裏)
I/O	0431h
名前	電源,LED制御等
	Undocumented
対象	PC-H98
機能
	[READ]
	bit 7: 電源OFF禁止状態
		1= 電源OFF禁止中
		0= 電源OFF許可中
	bit 6〜0: 不明
		
	[WRITE]
	bit 7,3: 電源制御
		  11b= 強制的に電源OFFする
		  10b= 電源SWによる電源OFF禁止
		  0xb= 電源SWによる電源OFF許可
	bit 6〜4: 不明
	bit 2: 本体HDDアクセスLED制御
		1= 点灯
		0= 消灯
	bit 1: 不明
	bit 0: 本体電源LED制御
		1= 点灯
		0= 消灯
解説  o 電源と本体LEDの制御を行う。
関連	INT 1Fh - Function 98h
I/O	0534h
名前	不明
	Undocumented
対象	PC-9821Ap2・As2・Bp・Bs・Be・Bf・Cs2・Ce2・Ts,PC-9801BA2・BS2・BX2・BA3・BX3・BX4
機能
	[READ/WRITE]
	bit 7: CPU外部クロック■[PC-9821Bp・Bs・Be・Cs2・Ce2]
		1= 33MHz
		0= 25MHz
	bit 6〜4: 未使用
	bit 3: 不明
	bit 2: テキストVRAMウェイト?
		1= ウェイトなし
		0= ウェイト挿入
	bit 1: 不明
		
		
	bit 0: MIDDLE,LOWモードフラグ
		1= MIDDLE,LOWモード
		0= HIGHモード
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
解説  o 詳細不明
I/O	9892h
名前	CPUウェイト調整
	Undocumented
対象	PC-9801DA・DS・DX・FA・FS・FX・BA・BX・BA2・BS2・BX2・BA3・BX3
	98NOTE(PC-9801N・NV・NL,PC-9821Np・Ns・Ne2・Nd・Es・Ld・Lt・Nf・Nm除く)
	PC-H98, PC-9821
機能
	[READ/WRITE]
	bit 7〜4: 未使用
	bit 3〜0: CPUウェイト値(下位4bit)
解説  o CPUの動作速度を128段階で設定する。0000000bのとき最高速。
      o I/O 9894h bit 3が0のとき無効。
関連	I/O 9894h bit 3
	I/O 9894h bit 2〜0
I/O	9894h
名前	CPUウェイト調整
	Undocumented
対象	PC-9801DA・DS・DX・FA・FS・FX・BA・BX・BA2・BS2・BX2・BA3・BX3
	98NOTE(PC-9801N・NV・NL,PC-9821Np・Ns・Ne2・Nd・Es・Ld・Lt・Nf・Nm除く)
	PC-H98, PC-9821
機能
	[READ/WRITE]
	bit 7〜4: 未使用
	bit 3: CPUウェイト有効
		1= ウェイトを挿入する
		0= ウェイトを挿入しない
	bit 2〜0: CPUウェイト値(上位3bit)
解説  o CPUの動作速度を128段階で設定する。0000000bのとき最高速。
      o bit 3が0のとき無効。
関連	I/O 9892h bit 4〜0
	I/O 00F0h bit 0
I/O	9896h
名前	CPUキャッシュ制御
	Undocumented
対象	PC-H98
機能
	[READ]	不明
	[WRITE]
	bit 7〜0: キャッシュ制御
		00h= キャッシュ有効
		04h= キャッシュ有効
解説  o キャッシュを制御する。
      o 詳細不明